Static Reduction Analysis for Imperative Object Oriented Languages
نویسندگان
چکیده
We de ne a novel static analysis Static Reduction Analysis SRA for an untyped object oriented language featuring side e ects and exceptions While its aims and range of applications closely relate to Control Flow Analysis CFA SRA exhibits a distinguished feature it only deals with abstract syntax tree AST nodes and does not involve approximations of environments nor stores Besides the analysis is control ow sensitive yielding more precise approximations than conventional CFA Finally the analysis is modular since it is parameterised by an approximation function which determines the granularity of the analysis and a lookup function which determines which method is called in a method call The approximation function may be instantiated to yield some well know analyses such as k CFAs whereas the lookup function may be instantiated to handle multiple inheritance and generic functions as in OCaml or type based method resolution as in Java Remarkably all other approximation functions including those for evaluation ow and a stack approximation are derived from the lookup and approximation functions
منابع مشابه
Many-sorted Natural Semantics Speciication and Generation of the Semantic Analysis for Imperative and Object-oriented Programming Languages
We follow the trend to use inference rule based speciications when describing the semantics of imperative and object-oriented programming languages. Within many-sorted natural semantics it is possible to deene the static semantics of imperative and object-oriented programming languages exclusively by using inference rules. During the semantic analysis we need to infer semantic information by us...
متن کاملNatural Semantics for Imperative and Object-Oriented Programming Languages
We present a declarative speciication method based on natural semantics which is suitable for the deenition of the static and dynamic semantics of imperative and object-oriented programming languages. We show how the semantic analysis can be generated automatically by creating , for each program under consideration, a constraint problem whose solution is also a valid attribution. In contrast to...
متن کاملAn Approach to Algebraic Semantics of Object-Oriented Languages
Studying the semantics of programming languages has a long tradition in computer science. Various approaches use various formalisms with various objectives. In the last two decades, algebraic specifications have frequently been used to study functional as well as imperative languages, and, in particular, object-orientated ones, thereby often focusing on specific aspects and concepts of this pro...
متن کاملA Calculus for Concurrent Objects
This paper presents an imperative and concurrent extension of the functional objectoriented calculus described in [FHM94]. It belongs to the family of so-called prototypebased object-oriented languages, in which objects are created from existing ones via the inheritance primitives of object extension and method override. Concurrency is introduced through the identi cation of objects and process...
متن کاملObject-Oriented Declarative Program Analysis
This thesis deals with techniques for raising the programming level for a particular kind of computations, namely those on abstract syntax trees. Such computations are central in many program analysis tools, such as compilers, smart languagesensitive editors, and static analysis tools. All techniques presented in this thesis support modular description and efficiency and are capable of handling...
متن کامل